diff --git a/system/helpers/language_helper.php b/system/helpers/language_helper.php
new file mode 100644
index 0000000..b065ebe
--- /dev/null
+++ b/system/helpers/language_helper.php
@@ -0,0 +1,58 @@
+<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2006, EllisLab, Inc.
+ * @license		http://codeigniter.com/user_guide/license.html
+ * @link		http://codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * CodeIgniter Language Helpers
+ *
+ * @package		CodeIgniter
+ * @subpackage	Helpers
+ * @category	Helpers
+ * @author		ExpressionEngine Dev Team
+ * @link		http://codeigniter.com/user_guide/helpers/language_helper.html
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Lang
+ *
+ * Fetches a language variable and optionally outputs a form label
+ *
+ * @access	public
+ * @param	string	the language line
+ * @param	string	the id of the form element
+ * @return	string
+ */	
+if ( ! function_exists('lang'))
+{
+	function lang($line, $id = '')
+	{
+		$CI =& get_instance();
+		$line = $CI->lang->line($line);
+
+		if ($id != '')
+		{
+			$line = '<label for="'.$id.'">'.$line."</label>";
+		}
+
+		return $line;
+	}
+}
+
+// ------------------------------------------------------------------------
+/* End of file language_helper.php */
+/* Location: ./system/helpers/language_helper.php */
\ No newline at end of file
diff --git a/system/libraries/Language.php b/system/libraries/Language.php
index a1f73d0..be86c2b 100644
--- a/system/libraries/Language.php
+++ b/system/libraries/Language.php
@@ -109,18 +109,11 @@
 	 *
 	 * @access	public
 	 * @param	string	$line 	the language line
-	 * @param	string	$label 	optional label 
 	 * @return	string
 	 */
-	function line($line = '', $label = '')
+	function line($line = '')
 	{
 		$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
-		
-		if ($label != '')
-		{
-			$line = '<label for="'.$label.'">'.$line."</label>";
-		}
-		
 		return $line;
 	}
 
